commonlibsse_ng\re\b/
bhkMouseSpringAction.rs

1//! # bhkUnaryAction
2//!
3//! This module defines the `bhkUnaryAction` struct, which inherits from `bhkAction`
4//! and represents a serializable object in the physics world. It includes virtual function pointers
5//! for C++ compatibility and maintains the original memory layout.
6
7use crate::re::bhkUnaryAction::{bhkUnaryAction, bhkUnaryActionVtbl};
8use crate::re::offsets_ni_rtti::NiRTTI_bhkMouseSpringAction;
9use crate::re::offsets_rtti::RTTI_bhkMouseSpringAction;
10use crate::re::offsets_vtable::VTABLE_bhkMouseSpringAction;
11use crate::rel::id::VariantID;
12
13#[repr(C)]
14#[derive(Debug)]
15pub struct bhkMouseSpringAction {
16    /// Base class.
17    pub __base: bhkUnaryAction,
18}
19const _: () = assert!(core::mem::size_of::<bhkMouseSpringAction>() == 0x20);
20
21impl bhkMouseSpringAction {
22    /// Address & Offset of the runtime type information (RTTI) identifier.
23    pub const RTTI: VariantID = RTTI_bhkMouseSpringAction;
24    /// Address & Offset of the runtime type information (Ni RTTI) identifier.
25    pub const NI_RTTI: VariantID = NiRTTI_bhkMouseSpringAction;
26
27    /// Address & Offset of the virtual function table.
28    pub const VTABLE: [VariantID; 1] = VTABLE_bhkMouseSpringAction;
29}
30
31impl crate::re::hkRefPtr::hkRefPtrCounted for bhkMouseSpringAction {
32    #[inline]
33    fn AddReference(&self) {
34        self.__base.__base.__base.__base.referenced_object.AddReference();
35    }
36
37    #[inline]
38    fn RemoveReference(&self) {
39        self.__base.__base.__base.__base.referenced_object.RemoveReference();
40    }
41}
42
43/// The virtual function table for `bhkMouseSpringAction`.
44///
45/// This struct defines function pointers to simulate the C++ virtual functions.
46#[repr(C)]
47pub struct bhkMouseSpringActionVtbl {
48    pub __base: bhkUnaryActionVtbl,
49}